package com.umpay.dto.merAccess.req.split;

import com.umpay.annotation.Pattern;
import com.umpay.dto.merAccess.req.CommonReq;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.Valid;
import java.util.List;

	/**
	 * @ClassName: TransSplitReq  
	 * @Description: 分账请求类
	 * @author liuhaidong  
	 * @date Jan 17, 2018
	 */
	public class TransSplitReq extends CommonReq{
		
		@NotEmpty(message = "原消费商户订单号不能为空")		
		@Pattern(message = "原消费商户订单号格式不正确")
		private String ori_order_id;	//原商户订单号
		@NotEmpty(message = "原消费商户订单日期不能为空")		
		@Pattern(message = "原消费商户订单日期格式不正确")
		private String ori_mer_date;	//原商户订单日期
		@NotEmpty(message = "商户订单号不能为空")		
		@Pattern(message = "商户订单号格式不正确")
		private String order_id;	//商户订单号
		@NotEmpty(message = "商户订单日期不能为空")		
		@Pattern(message = "商户订单日期格式不正确")
		private String mer_date;	//商户订单日期
		@NotEmpty(message = "金额不能为空")		
		@Pattern(message = "金额格式不正确")
		private String amount;	//金额
		@NotEmpty(message = "分账类型不能为空")		
		@Pattern(message = "分账类型格式不正确")
		private String split_type;	//分账类型
		@NotEmpty(message = "分账类别不能为空")		
		@Pattern(message = "分账类别格式不正确")
		private String split_category;	//分账类别
		@Pattern(message = "服务器异步通知路径格式不正确")
		private String notify_url; //服务器异步通知路径
		@Pattern(message = "备注信息格式不正确")
		private String remark;	//备注信息
	    // 集合  子订单信息
	    @Valid
		private List<SplitCmd> split_cmd;	//分账指令
		
		public String getOri_order_id() {
			return ori_order_id;
		}
		public void setOri_order_id(String ori_order_id) {
			this.ori_order_id = ori_order_id;
		}
		public String getOri_mer_date() {
			return ori_mer_date;
		}
		public void setOri_mer_date(String ori_mer_date) {
			this.ori_mer_date = ori_mer_date;
		}
		public String getOrder_id() {
			return order_id;
		}
		public void setOrder_id(String order_id) {
			this.order_id = order_id;
		}
		public String getMer_date() {
			return mer_date;
		}
		public void setMer_date(String mer_date) {
			this.mer_date = mer_date;
		}
		public String getAmount() {
			return amount;
		}
		public void setAmount(String amount) {
			this.amount = amount;
		}
		public String getSplit_type() {
			return split_type;
		}
		public void setSplit_type(String split_type) {
			this.split_type = split_type;
		}
		public String getSplit_category() {
			return split_category;
		}
		public void setSplit_category(String split_category) {
			this.split_category = split_category;
		}
		public String getRemark() {
			return remark;
		}
		public void setRemark(String remark) {
			this.remark = remark;
		}
		public List<SplitCmd> getSplit_cmd() {
			return split_cmd;
		}
		public void setSplit_cmd(List<SplitCmd> split_cmd) {
			this.split_cmd = split_cmd;
		}
		
		public String getNotify_url() {
			return notify_url;
		}

		public void setNotify_url(String notify_url) {
			this.notify_url = notify_url;
		}
		@Override
		public String toString() {
			return "TransSplitReq [version=" + version  +",mer_id=" + mer_id + ",ori_order_id=" + ori_order_id + ", ori_mer_date=" + ori_mer_date + ", order_id="
					+ order_id + ", mer_date=" + mer_date + ", amount=" + amount + ", split_type=" + split_type
					+ ", split_category=" + split_category +",notify_url=" + notify_url  +", remark=" + remark + ", split_cmd=" + split_cmd +"]";
		}

	}
		